package com.sl.core.domain.dto;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

@Getter
@Setter
public class JsonFieldDefine<T extends JsonFieldDefine> implements Serializable {

    /**
     * 字段名
     */
    private String fieldCode;
    /**
     * 字段名
     */
    private String fieldName;
    /**
     * 字段类型
     */
    private String fieldType;
    /**
     * 解释说明
     */
    private String fieldDesc;

    /**
     * 是否数组
     */
    private Boolean isArrayFlag;

    /**
     * 备注
     */
    private String remark;

    /**
     * 序号
     */
    private int sort;

    /**
     * 路径
     */
    private String path;

    /**
     * 默认值
     */
    private String defaultValue;


    /**
     * 子节点
     */
    private List<T> children;


    public List<T> getChildren() {
        return children;
    }

    public boolean isArray() {
        if (isArrayFlag == null) {
            return false;
        }
        return isArrayFlag;
    }
}
